/*
 * @Author: tcosfish
 * @Date: 2022-07-25 09:48:09
 * @LastEditors: tcosfish
 * @LastEditTime: 2022-08-18 11:40:57
 * @FilePath: \loadFile\src\features\month.create.2.ts
 */

import { AppDataSource } from "@/database"
import { SubjectBalance } from "@/database/entities/SubjectBalance"

import { subject_balance } from "../transition/subject_balance"

// 函数的形式
// * 也要考虑复用问题

async function create_month_report_2() {
  // 1. 读取科目余额.xls文件的数据

  // 2. 将数据有选择性的存入数据库中
  const connect = await AppDataSource.initialize()
  await connect
    .createQueryBuilder()
    .insert()
    .into(SubjectBalance)
    .values(subject_balance)
    .execute()
  console.log("科目余额数据已插入!")

  // 3. 根据生成表中的需要对数据进行提取
  /**
   * TODO 3.1 损益表
   * * 选择模式: 预备模板填写内容
   * select code, credit_amount
   * form subject-balance
   * where code in (
   *   '6001', '6401.001', '6403',
   *   '6601', '6602', '6603',
   *   '6301'
   * )
   */

  /**
   * TODO 3.2.1 科目余额表.库存现金表块
   * ? 根据生成表块的不同的拼接SQL语句
   * * 选择模式: 根据筛选完数据生成
   * select id, code, name, credit_amount, debit_closing_balance
   * from subject_balance
   * where code like '1002_%'or code like '1001';
   *
   * TODO 3.2.2 科目余额表.应收账款表块
   * ? 根据生成表块的不同的拼接SQL语句
   * * 选择模式: 根据筛选完数据生成
   * select name, debit_closing_balance, credit_closing_balance
   * from subject-balance
   * or where code like '1122%'
   *
   * TODO 3.2.3 科目余额表.预付账款表块
   * ? 根据生成表块的不同的拼接SQL语句
   * * 选择模式: 根据筛选完数据生成
   * select name, debit_closing_balance, credit_closing_balance
   * from subject-balance
   * or where code like '1123%'
   *
   * TODO 3.2.4 科目余额表.其他应收账款表块
   * ? 根据生成表块的不同的拼接SQL语句
   * * 选择模式: 根据筛选完数据生成
   * select name, debit_closing_balance, credit_closing_balance
   * from subject-balance
   * or where code like '1221%'
   *
   * TODO 3.2.5 科目余额表.应收账款-供应商贷款表块
   * ? 根据生成表块的不同的拼接SQL语句
   * * 选择模式: 根据筛选完数据生成
   * select name, debit_closing_balance, credit_closing_balance
   * from subject-balance
   * or where code like '2202%'
   *
   * TODO 3.2.6 科目余额表.其他应付账款表块
   * ? 根据生成表块的不同的拼接SQL语句
   * * 选择模式: 根据筛选完数据生成
   * select name, debit_closing_balance, credit_closing_balance
   * from subject-balance
   * or where code like '2241%'
   *
   * TODO 3.2.7 科目余额表.长期借款表块
   * ? 根据生成表块的不同的拼接SQL语句
   * * 选择模式: 根据筛选完数据生成
   * select name, debit_closing_balance, credit_closing_balance
   * from subject-balance
   * or where code like '2501%'
   */

  /**
   * TODO 3.3.1 当月预算表.当月预算表块
   * * 选择模式: 预备模板填写内容
   * select
   */
}

export { create_month_report_2 }
